An artificial neuron characteristically receives inputs, calculates a weighted sum of these inputs, applies a non-linear operator (almost always a sigmoid or signum) to this weighted sum, and provides an output that is the result of the non-linear operator. In artificial neural networks, weights are externally calculated by various algorithms, usually as a result of training runs in which calculated outputs are compared to desired outputs, and weights are modified to improve the calculated outputs to better match the desired outputs. This is often done by trial and error, with statistical methods employed to improve the speed of convergence. Further, artificial neurons fire in synchronous cycles.
However, artificial neural networks suffer from several deficiencies. For example, the weights in artificial neural networks may only be set externally, but not by the neurons themselves. Further, other than a potential change of weights, the artificial neuron retains no state information and has no time dependence. Specifically, it treats the next round of inputs exactly as it did the previous one. Artificial neural networks are also not richly connected, and they do not have significant feedback at multiple levels. These characteristics severely limit the ability of artificial neural networks to learn, particularly as self-organizing and self-regulating systems. They also severely limit the ability of artificial neural networks to create spontaneous behavior and to coordinate and control complex systems in dynamic and changing environments.
What is needed are processing systems, methods, and media that overcome these shortcomings.